package com.leo.foodmaster.admin.foodMaterial.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.leo.foodmaster.admin.foodMaterial.entity.FoodMaterial;
import com.baomidou.mybatisplus.extension.service.IService;
import com.leo.foodmaster.commons.entity.Result;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Leo
 * @since 2021-07-14
 */
public interface IFoodMaterialService extends IService<FoodMaterial> {

    /**
     * 条件分页查询食材列表
     * @param page 分页参数
     * @param processPhase 食材加工阶段
     * @param name 食材名称
     * @param brand 食材品牌
     * @param typeId 食材类型Id
     * @return IPage<FoodMaterial>
     */
    IPage<FoodMaterial> getFoodMaterialPageList(Page<FoodMaterial> page, String processPhase,
                                                String name, String brand, Long typeId);

    /**
     * 删除食材
     * @param foodMaterialIds 食材Ids
     * @return Result<Object>
     */
    Result<Object> deleteFoodMaterial(String foodMaterialIds);

    /**
     * 导入食材数据
     * @param foodMaterialList 食材列表
     * @param updateSupport 更新
     * @param userName 操作者
     * @return Result<Object>
     */
    Result<Object> importFoodMaterial(List<FoodMaterial> foodMaterialList, boolean updateSupport, String userName);

    /**
     * 条件查询食材列表
     * @param processPhase 加工阶段
     * @param name 食材名称
     * @param brand 品牌
     * @param typeId 类型Id
     * @return List<FoodMaterial>
     */
    List<FoodMaterial> getFoodMaterialList(String processPhase, String name, String brand, Long typeId);
}
